.. _cesCommCommit: cesCommCommit ============== -------------- SYNOPSYS ````````````` .. code-block:: none t_i32 cesCommCommit( [in] t_i32 nNodeID, [in] t_i32 nChannel, [out] t_i32 nNumRetSendSize ) DESCRIPTION ````````````` - 송신 버퍼의 내용을 시리얼 통신 칩의 전송 버퍼에 담아 전송 시키는 작업을 수행합니다. PARAMETER ````````````` - nNetID : Network 번호 - nChannel : 채널 번호 - nNumRetSendSize : 1 바이트 이상의 바이트열 데이터 RETURN VALUE ````````````` - 함수 수행 여부를 반환합니다. +----------------+-----------+ | Value | Meaning | +================+===========+ | 음수 | 수행 실패 | +----------------+-----------+ | 0 (ceERR_NONE) | 수행 성공 | +----------------+-----------+ EXAMPLE ````````````` .. code-block:: cpp :linenos: #include "ceSDK.h" #include "ceSDKDef.h" long nSerialChNo = 0; // 시리얼 채널(Port) 번호 BYTE byData; // 바이트 데이터 정보 BYTE abyData[8]; // 바이트열 데이터 정보 int nCheckSum = 0; // 0 번 시리얼 포트에 대해 수신 버퍼로부터 1 바이트 크기의 데이터 확인 if ( cesPeekByte ( nSerialChNo, &byData ) == ceERR_NONE ) { if ( byData != 0x2 ) // STX 가 아니면 원하는 패킷이 아님. { return; } } // 0 번 시리얼 포트에 대해 수신 버퍼로부터 8 바이트 크기의 데이터 읽기 if ( cesReadString ( nSerialChNo, 8, &abyData ) != ceERR_NONE ) { OutputDebugString ( "cesPeekString has been ailed" ); } // 전달해 줄 패킷 생성 abyData[0] = 0x2; // STX abyData[1] = 'A'; abyData[2] = 'B'; abyData[3] = 'C'; abyData[4] = 'D'; abyData[5] = 'E'; for ( int I = 0; I <= 5; i++ ) { nCheckSum += abyData[i]; } abyData[6] = nCheckSum; abyData[7] = 0x3; // ETX if ( cesWriteString ( nSerialChNo, 8, abyData) == ceERR_NONE ) { cesCommit ( nSerialChNo ); }